3D UI 教程
概述
示例的左侧创建2D UI,右侧创建3D UI,移动DefaultPawn以检测场景中的静态物体是否进入碰撞范围,将其名称在界面中添加或移除。
创建关卡
首先创建一个关卡,依次点击菜单栏File -> New Level From Template (Ctrl+N) -> template_empty。
依次往template_empty的场景中添加地形、灯光和天空。
点击Create Actor按钮,依次选择Visual中的Terrain Actor、Direct Light和Sky Sphere进行创建。
把恐龙模型从Project面板拖拽到关卡中。
给恐龙添加包围盒。选中恐龙后,依次点击Inspector面板中的Add Component -> Box Component,可通过Shape下的Box Extent X、Box Extent Y和Box Extent Z调整包围盒大小。
选中调整好的恐龙模型,可以通过Ctrl + C和Ctrl + V在场景中复制多个物体。
添加Default Pawn
依次点击Create Game Object -> Default Pawn,在Inspector面板中选中LDefaultPawn(instance),Actor下的Actor String Tag属性为其添加字符串标签(脚本中通过Tag查询对象)。
选择CollisionComponent子组件,勾选Physics下的Trigger属性,将Collision下的Collision Profile Name属性设置为Trigger实现碰撞,可在Shape下的Sphere Radius属性修改其半径大小。
在Default Pawn上添加3D UI组件
在Inspector面板中依次点击Add Component -> Control 3D Component。
为Component下的Actor Component String Tag属性添加字符串标签,在Control3D下的File属性中浏览并选择UI文件。UI将呈现到场景中,拖动UI调整位置及角度到视角前方(否则Play时视角看不到UI)。
Default Pawn在场景中移动时,3D UI需跟随移动,始终保持在前方,设置以下属性:
在Inspector面板中选中LDefaultPawn(instance),勾选Pawn下Use Controller Angle Pitch、Use Controller Angle Yaw和Use Controller Angle Roll,并设置Auto Possess Player。
我们还需创建一个物体来绑定我们编写的脚本,依次点击Create Game Object -> Game Object,并为其添加脚本。
依次点击Inspector面板下的Add Component -> Script Component,在Script下的Script File添加脚本文件。
脚本文件的代码详见示例里的3d_uid\3d_ui.lua。
运行游戏
点击Play按钮,开始游戏。